Multi-protocol data router

ABSTRACT

The disclosure relates to a data router communicating with systems via serial links and able to manage a multitude of different communication protocols, characterized in that it includes at least a generic routing program, a first-level interface program common to all the systems with which said router communicates, and a second-level interface program common to all said serial links, said generic routing program dialoguing with said first-level API, which in turn dialogues with said second-level API. The invention is notably applicable to the handling of air traffic management data.

BACKGROUND OF THE INVENTION

[0001] The invention concerns a data router able to handle differentcommunication protocols. It is notably applicable to the handling of airtraffic management data.

DESCRIPTION OF THE PRIOR ART

[0002] Air traffic density has reached a very high level, while airsafety requirements are becoming increasingly stringent. Modern-day airtraffic management therefore involves the processing of large quantitiesof data, notably used by air traffic controllers and pilots. These datainclude a broad range of radar data, meteorological data, aircraftpositions and flight plans, and instrument landing system (ILS) data.

[0003] The processing of all this information requires powerfulcomputing means. Among these means, the interfaces with data centers anddecision-makers are of particular importance. These interfacing meansserve notably for information routing to ensure that data finds its wayto the right destinations. Given the very large volumes of data, theperformance of these means is of vital importance in the globaloperation of an air traffic management system.

[0004] Commercially-available equipment exists with operating systemsthat can satisfy these routing needs. For example, there is a range ofproducts carrying the registered brand name “LINES”, meaning “LinkInterface Node for External Systems”. These modular products aredesigned to enable routing and processing of input/output messagescarried on incoming/outgoing serial links and Ethernet networks.Standard serial links, using protocols such as X25, HDLC and BSC forexample, can be handled, as can dedicated lines, such as special radardata transmissions protocols.

[0005] These so-called routers can operate with a software architectureof frontal processor type. They are equipped with FPBSS-type software,meaning “Front Processor Basic System Software”. In this operating mode,the router is connected to a single application program. It has only oneupstream function, for example routing data to the required destination.The essential application software is stored in one or more centralcomputers; one router is required for each application.

[0006] The performance of these routers can be enhanced by using an opencommunication mode known as OCP (Open Communication Processor). In thismode, a router is connected to several applications and operatessubstantially as a data server. It is notably used to process and routethe data from any input point to any output point. This operating modeis particularly suitable for air traffic management. In an air trafficmanagement application, this mode notably provides the followingfunctionalities:

[0007] black-box-type distribution of radar data to the centers, theradar data being received via serial interfaces and transmitted via anEthernet network to an identified group of machines; such distributionis known as “UDP multicast”;

[0008] autonomous conversion of messages or protocols, notably enablingconversion of message formats or specific protocols, for example ISR2into ASTERIX, X25 into HDLC-UI, etc.;

[0009] a line control function in radar systems, in other wordsretransmission of radar data via serial lines to processing circuits.

[0010] Among all the types of serial lines, covered by a library ofcommunication protocols, we find different types of software interfacesand therefore of services. A specific interfacing program, usuallyreferred to as an Application Programming Interface (API), can provide acommon interface for access to any input or output, whether it be aserial or Ethernet link. This application notably issues requests toinitialize or configure the inputs/outputs, for example to initialize aTCP/IP or X25 connection, and to send or receive messages to or from theinputs/outputs according to a pre-defined routing program. In thismanner, it should not be necessary to develop a specific interfacingprogram every time a new interface needs to be installed. The APIprogram is for example incorporated in an intermediate software layer,known as “middleware”, superposed on the router's system kernel oroperating system.

[0011] In air traffic management applications in particular, there is aplethora of possible communication protocols all operating in differentmanners. For example, but not exclusively, there is a multitude of radartypes to which a router can be interfaced. The API program describedabove is then no longer able to manage all the possible interface types.Although it is possible to develop API programs for each new type ofinterface, such a solution is not economically viable; moreover itscomplication has obvious negative impact on operational reliability andsystem maintenance.

SUMMARY OF THE INVENTION

[0012] One goal of the invention is to overcome the drawbacks previouslymentioned by using a router able to manage a multitude of differentinterface types economically.

[0013] For this purpose, the invention is a data router communicatingwith systems via serial links, characterized in that it includes atleast:

[0014] a generic routing program,

[0015] a first-level interface program (or API: Application ProgrammingInterface) common to all the systems with which said routercommunicates,

[0016] a second-level interface program (or API) common to all saidserial links,

[0017] said generic routing program dialoguing with said first-levelAPI, which in turn dialogues with said second-level API.

[0018] The main advantages of the invention are that its improves thereliability of a router, facilitates its maintenance, and adapts to abroad range of applications.

BRIEF DESCRIPTION OF THE DRAWINGS

[0019] Other characteristics and advantages of the invention will becomeclear on reading the following description of a preferred embodiment,taken only as a non-limitative example, making reference to the attacheddrawings of which:

[0020]FIG. 1 shows an example of a prior art router softwarearchitecture;

[0021]FIG. 2 shows an example of the software architecture of a routeraccording to the invention.

DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT

[0022]FIG. 1 shows an example of the software architecture of a router,notably relating to the management of the inputs or outputs of seriallinks. The lower software layer 1 executes the communication protocolsof the router's various incoming and/or outgoing serial links 10. Forexample, this software layer 1 includes protocol programs of FPBSS type(“Front Processor Basic System Software”), notably an X25 communicationprotocol 11, an asynchronous link communication protocol 12, an HDLC-UIlink communication protocol 13, and other types of protocols 14including one or more protocols 15 specific to a given application, forexample a special radar link. A software layer 20 executes for examplecommunication protocols with a network 19, for example of the Ethernetor Internet type.

[0023] The router includes an operating system 2, for example of theVRTX SA type, which interacts with the various software layers. Anintermediate software layer 3, known as “middleware”, is added to theoperating system 2 notably to provide services such as inter-taskcommunication, time management or resources management. For thispurpose, a library of service programs (not shown in the figure) isincluded in the middleware 3. This intermediate layer 3 provides thelink between the input/output software layers 1, 20, the operatingsystem 2 and the application 4, in this case the routing program. Aspecific API 5 included in the intermediate software layer provides acommon interface for access to all the inputs/outputs, serial 10 ornetwork 20. As mentioned previously, any number of different serialcommunications protocol types can exist. The common interfacing program(API) 5 cannot satisfy all these possibilities. If we conserve anarchitecture such as that in FIG. 1, it is then necessary to constantlyadapt the API program, which is not economic. The existence of variousversions of the router also complicates its maintenance and threatensits reliability.

[0024]FIG. 2 presents an example of router software architectureaccording to the invention. For reasons of clarity in this diagram, theoperating system 2 and the network communication protocol layers are notshown. The lower software layer 1 includes the interfaces dedicated tothe different types of inputs and outputs used. The communicationprotocols 11, 12, 13, 14, 15 are for example the same as those inFIG. 1. Other protocols can of course be added.

[0025] Among all the types of serial lines associated with acommunication protocols library, different types of software interfacesand therefore of services exist. The invention uses the fact that in arouter, an interface is configured at two levels. The first, known asthe “driver”, supervises and controls the communications with othersystems sending data to the router and/or receiving data from therouter. In the case of an air traffic management application, thesesystems are for example radar systems, peripheral devices orsurveillance and control centers. The first level therefore concernsinterface programs 31, 32, 33 which could for example be:

[0026] Radar interfaces 31 with:

[0027] a data reception supervisor, used notably to warn an externalmanagement system that data are no longer being received;

[0028] an integral processing system, in other words control of linesand data reception, or simply verification of operability; for example,when two parallel radar systems are active (one operational, the otheron standby), the standby system is verified to enable fail-over of theline in the event of a fault on the operational radar.

[0029] Interfaces 32 with peripheral devices, such as a printer orscreen, with:

[0030] interrogation of such external devices to check their operabilityand know their actual status, for instance in the case of a printer tocheck that it has paper and ink;

[0031] sending and receiving of messages, possibly with acknowledgement,and re-sending in the event of an error.

[0032] External interfaces 33, different from the previous ones, forexample links to weather data or flight plan systems.

[0033] A second router interface level, known as the “handler”, handlesthe various types of serial links of the router, notably taking accountof their synchronous or asynchronous nature.

[0034] A router according to the invention therefore includes a commoninterface program (API) 21, 22 for each interface level, in order tocover the largest number of situations possible. In other words, itincludes an API program 21 common to all the systems with which itcommunicates, and it includes an API program 22 common to all the seriallinks and associated protocols 11, 12, 13, 14, 15 present on its ports.The first-level software layer 21, previously called the “driver”,controls the systems communicating with the router. This software layertherefore executes for example radar interface protocols 31, peripheraldevice interface protocols 32, and external interface protocols 33,depending on the type of system in communication. This software layer 21executes for example tasks of the type of those defined for this level,notably supervision of data reception, integral processing, includingcontrol of lines and date reception, or verification of operability ofthe radar interface programs 31. This API layer also handles pollingmessages, and validation and/or verification messages between theinterfaces programs 32 and peripheral devices such as printers andscreens. Finally, it executes interface programs 33 with externalequipment, for example systems providing flight plan or meteorologicaldata. This first-level API software layer 21 is therefore common to alltypes of systems in communication with the router, these systems beingfor example radar systems, peripheral devices such as printers andscreens, or surveillance and control systems notably providing flightplan or meteorological data. Other types of systems are of coursepossible.

[0035] The second-level API software layer 22, called previously the“handler”, executes the tasks specific to the type of serial link,notably taking account of its synchronous or asynchronous nature. Itnotably executes the communication protocols 11, 12, 13, 14, 15 of thedifferent serial links 10. This second-level API software layer 22 istherefore common to all the router's serial inputs/outputs and theirassociated communication protocols.

[0036] The router includes a generic routing program 23 which dialoguesfor example with an API program 24 incorporated in the middleware 3.This application 23 does not dialogue directly with the lower softwarelayers, notably the API programs 21, 22 managing the serial inputs andoutputs as defined previously. The API program 24 dialogues with thefirst-level API program (“driver”) 21.

[0037] For each serial link or physical input or output line10, a set ofparameters common to all the lines must be defined. These parametersinclude for example the line speed and the electric mode. Moreover, oneof the parameters of this set describes the type of program 11, 12, 13,14, 15 that the second-level API 22 (“handler”) must execute. Similarly,for each system there is at least one parameter describing the type ofprogram 31, 32, 33 that the first-level API 21 (“driver”) must execute.To each type of program corresponds a pointer that points in a memory tothe list of configuration parameters specific to the line, such as forexample the X25 frame or the BSC synchronization characters, ordedicated to the system. The pointers and configuration parameters ofall the serial lines are stored in a configuration file 40 for example.

[0038] The API programs 21, 22 execute for example the followingservices, for each line 10:

[0039] line activation, notably by starting the management of messagessent and/or received;

[0040] line suspension, notably by stopping the sending and receiving ofmessages;

[0041] line configuration using the parameters specific to the line.

[0042] The first-level API program 21 also executes the followingadditional services:

[0043] sending of messages with or without acknowledgement;

[0044] activation of message reception.

[0045] In this manner, an API interfacing program managing serial linesis constituted by a first-level API layer 21 common to all the types ofsystems communicating with the router, and a second-level API layer 22common to all the types of serial inputs/outputs of the router. Thesetwo API layers 21, 22 are stable and can cover a wide range ofsituations, since all combinations of the first- and second-levelinterfacing programs are possible. A router according to the inventionis therefore able to manage a multitude of interfaces—and in acost-effective manner, since no significant additional softwaredevelopment is needed in the event of changes of the links. Thereliability of a router is also improved and the maintenance is madeeasier.

[0046] By way of example, FIG. 2 illustrates the routing of datagenerated by a radar system to a printer; the routing is symbolized by asuccession of arrows. A radar system, on board an aircraft for example,sends data indicating the aircraft's position to the router. These dataare received on a serial input port according to a protocol 15 specificto the radar link in question. The second-level API 22 then executes theprogram corresponding to this communication protocol 15. The first-levelAPI program 21 executes the program 31 controlling the radar system andits data; this program is adapted to the radar system communicating withthe router, but it is independent of the type of serial link connectingthis system to the router. It could in particular be combined with acommunication protocol other than that 15 used in this example. The dataradar are processed by the application 23, in other words the genericrouting program, via the API 24 implemented in the middleware 3. Thegeneric routing program 23 routes these data to a printer. Thesecond-level API 22 then executes the X25 communication protocolspecific to the serial link connecting the router to the printer,whereas the first-level API 21 executes the printer driver program 32which notably interrogates the printer to check that it is operative andto know its real status, for example to verify that it has enough paperand ink. This program is independent of the type of serial link, notablyof the link X25 used.

[0047] The invention has been described with reference to an air trafficmanagement application. However, it can obviously be appliedadvantageously in other types of applications.

What is claimed is:
 1. Data router communicating with systems via seriallinks, characterized in that it includes at least: a generic routingprogram, a first-level interface program (or API: ApplicationProgramming Interface) common to all the systems with which said routercommunicates, a second-level interface program (or API) common to allsaid serial links, said generic routing program dialoguing with saidfirst-level API, which in turn dialogues with said second-level API. 2.Router according to claim 1, wherein said generic routing programdialogues with said first-level API via an API program incorporated inan intermediate (“middleware”) software layer.
 3. Router according anyof the preceding claims, wherein for each of said serial links there isat least one parameter describing the type of program that saidsecond-level API must execute, and for each type of program there is apointer pointing in a memory to a list of configuration parametersspecific to this serial link.
 4. Router according any of the precedingclaims, wherein for each system communicating with the router there isat least one parameter describing the type of program that saidfirst-level API must execute, and for each type of program there is apointer pointing in a memory to a list of configuration parametersspecific to this system.
 5. Router according to claim 3 or 4, whereinsaid pointers and said configuration parameters are stored in aconfiguration file.
 6. Router according any of the preceding claims,wherein a system communicating with the router is a radar system. 7.Router according to claim 6, wherein said first-level API executes aninterface program providing: supervision of data reception, notably towarn an external management system that the data are no longer beingreceived, integral processing, performing control of lines and datareception, or a verification of operability.
 8. Router according toclaim 7, wherein when two parallel radar systems are active (oneoperational, the other on standby), the standby system is verified toenable switch-over of the line in the event of a fault on theoperational radar.
 9. Router according any of the preceding claims,wherein a system communicating with the router is a peripheral device,such as a printer or screen or other.
 10. Router according to claim 9,wherein said first-level API executes an interface program performing:interrogation of an external device to check its operability and knowits actual status, for instance in the case of a printer to check thatit has paper and ink, sending and receiving of messages, possibly withacknowledgement, and re-sending in the event of an error.
 11. Routeraccording any of the preceding claims, wherein one system communicatingwith the router is an air traffic surveillance or control center.